﻿#ifndef SUBJECT_H
#define SUBJECT_H

#include "Observer.h"

using namespace std;

class Subject
{
protected:
    QString action;
public:
    virtual void Attach(shared_ptr<Observer> observer) = 0;
    virtual void Detach(shared_ptr<Observer> observer) = 0;
    virtual void Notify() = 0;
    const QString &getAction() const;
    void setAction(const QString &newAction);
};

#endif // SUBJECT_H
